// 后台脚本，处理插件的核心逻辑

// 监听标签页更新事件，当URL变化时触发内容脚本
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
  if (changeInfo.status === 'complete' && tab.url) {
    // 获取当前域名
    const url = new URL(tab.url);
    const hostname = url.hostname;
    
    // 从存储中获取域名配置
    chrome.storage.sync.get(['domainConfigs'], (result) => {
      const domainConfigs = result.domainConfigs || {};
      
      // 检查当前域名是否有配置
      if (domainConfigs[hostname]) {
        // 向内容脚本发送配置信息
        chrome.tabs.sendMessage(tabId, {
          action: 'applyConfig',
          config: domainConfigs[hostname]
        });
      }
    });
  }
});

// 监听来自popup的消息
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  if (message.action === 'getCurrentUrl') {
    // 获取当前活动标签页的URL
    chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
      if (tabs[0] && tabs[0].url) {
        const url = new URL(tabs[0].url);
        sendResponse({hostname: url.hostname});
      } else {
        sendResponse({hostname: null});
      }
    });
    return true; // 异步响应
  }
});